class UserNameException extends Exception{
    public UserNameException(String message) {
        super(message); //因为继承了父类Exception，父类Exception里边有自己的构造方法，
                        // 而子类在实现自己的构造方法时必须先定义父类的构造方法----super(message);
    }
}
class PasswordException extends Exception{
    public PasswordException(String message) {
        super(message);
    }
}

public class Login {
    //自定义异常实现登录
    //实现一个简单的控制台版用户登陆程序, 程序启动提示用户输入用户名密码. 如果用户名密码出错, 使用自定义异常的方式来处理
    private String userName = "admin";
    private String password = "123456";

    public  void loginInfo(String userName, String password)
        throws UserNameException,PasswordException{
        if(!this.userName.equals(userName)){
            throw new UserNameException("用户名错误！");
        }
        if(!this.password.equals(password)){
            throw new PasswordException("密码错误！");
        }
        System.out.println("登录成功！");
    }

    public static void main(String[] args) {
        Login login = new Login();
        try {
            login.loginInfo( "aaa","123456");
        }catch (UserNameException e){
            e.printStackTrace();
        }catch (PasswordException e){
            e.printStackTrace();
        }
    }
}
